A memory cell is an electronic circuit that can be used to store bits of information. Flip-flops and latches are examples of memory cells that can be used to store one bit of information. A flip-flop stores the bit as one of two stable states, typically referred to as high and low states. The stables states may also be known by other naming conventions, such as “1” and “0”.
Though not a strict definition, a flip-flop also generally refers to a circuit that is edge-triggered. That is, the switching of the stable state held in the flip-flop circuit is triggered by a signal edge, such as a clock edge. Another type of edge-triggered memory cell is a pulsed-latch, which behaves similarly to an edge-triggered flip-flop.
A well-known type of flip-flop is the D flip-flop. The D flip-flop stores the value of the D-input either at a rising clock signal edge or at a falling clock signal edge. The stored value is provided at a Q output and, optionally, the complement of the stored value is provided at a Q′ output. The D flip-flop thus stores a single bit of information and this information may be updated every clock cycle.
It follows that multiple D flip-flops can store multiple bits of information. When the clock inputs of these multiple D flip-flops are driven by the same clock signal, these multiple D flip-flops behave as a register, which is suitable for storing a multi-bit word of information.